#ifndef __APPLICATION_H__
#define __APPLICATION_H__

#include "Globals.h"

class Graphics;
class Application
{
public:
	typedef enum {
		RUNNING, 
		PAUSED
	} GameState;

	virtual bool Run(void) {
		return mainCore();
	}

	virtual void Execute(void) = 0;
	virtual void Draw(void) {
		Graphics *g = &Globals::graphics;
	};

	bool initGraphics(unsigned int width, unsigned int height, unsigned short bpp);
	Application(int argc, char* argv[]) {}
	virtual ~Application(void) {}

private:
	bool mainCore(void);
};

#endif
